package Control;

import Daos.*;
import Daos.exceptions.PreexistingEntityException;
import Clases.Ruta;
import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.PersistenceUnit;
import java.util.ArrayList;
import java.util.List;

public class RutaController {

    RutaJpaController daoRuta;

    public RutaController(EntityManagerFactory factory) {
        daoRuta = new RutaJpaController(factory);
    }

    public String crear(String cod, String nombre) throws PreexistingEntityException {
        Ruta p = new Ruta();
        p.setCodRuta(cod);
        p.setNombre(nombre);
        try {
            daoRuta.create(p);
            return "El registro fue creado exitosamente";
        } catch (Exception ex) {
            Logger.getLogger(Ruta.class.getName()).log(Level.SEVERE, null, ex);
            return "Error";
        }
    }

    public String editar(String cod, String nombre) throws PreexistingEntityException {
        Ruta p = new Ruta();
        p = buscar(cod);
        p.setCodRuta(cod);
        p.setNombre(nombre);
        try {
            daoRuta.edit(p);
            return "El registro fue modificado exitosamente";
        } catch (Exception ex) {
            Logger.getLogger(Ruta.class.getName()).log(Level.SEVERE, null, ex);
            return "Error";
        }
    }

    public String borrar(String id) throws PreexistingEntityException {
        Ruta p = new Ruta();
        try {
            daoRuta.destroy(id);
            return "El registro fue eliminado exitosamente";
        } catch (Exception ex) {
            Logger.getLogger(Ruta.class.getName()).log(Level.SEVERE, null, ex);
            return "Error";
        }
    }

    public Ruta buscar(String id) {
        return daoRuta.findRuta(id);
    }
}
